1. Field of the Invention
The present invention relates to an apparatus and method for coding and decoding moving pictures using coefficients between frames or fields, and more particularly, to a high-efficient apparatus and method for coding and decoding a sequence of moving pictures that contains zoomed images.
2. Description of the Related Arts
In recent years, a variety of techniques have been developed in the field of image digitization. Because an image is converted into a massive amount of data, the image data must be compressed, or reduced in volume, to be recorded or transmitted efficiently. For example, a digital video tape recorder for a HDTV (High-Definition Television) is furnished with a function that codes and decoders an enormous amount of image data of moving pictures.
FIG. 1A is a block diagram showing a structure of a conventional coding unit. More precisely, numeral 1000 is an image input unit used to input image data per frame that makes up moving pictures. Numerals 1001, 1002 are frame memories for temporarily storing image data of two continuous frames, for example, frames #0, #1, respectively. The frame referred herein is the data of one image that collectively makes up the moving pictures; in case of an interlace display, the frame is a field consisting of alternative scanning lines. Numeral 1003 is an adder for computing a total of image data pixel values in the frame memories 1001, 1002. Numeral 1004 is a subtracter for computing a balance between the image data pixel values in the frame memories 1001, 1002. Numeral 1005 is a selector for selecting an output frame either the adder 1003 or subtracter 1004. Numeral 1006 is a discrete cosine transform (DCT) unit for dividing a frame formed on the output from the selector 1005 into a set of 8.times.8 pixel array blocks to analyze each block's frequency. Numeral 1007 is a quantization unit for quantizing the frequency into an array using a quantization table which specifies an adequate quantization method for each frequency. Numeral 1008 is a variable length coding (VLC) unit for outputting coded data by converting the quantization frequency array into variable length codes; this process is also known as "entropy coding".
The above-described coding unit converts original image data into the coded data by the following steps of (1) dividing a frame formed on the total or balance of two continuous frames' image data into a set of 8.times.8 pixel array blocks; (2) computing coefficients between the two frames with an orthogonal transform; (3) quantizing the coefficients first, and then converting the quantization coefficients into variable length codes.
FIG. 1B is a block diagram depicting a structure of a conventional decoding unit, which operates in a reversed manner to the above-described conventional coding unit, thereby decoding the coded data back into the original image data.
More specifically, numeral 1109 is an input unit used to input the coded data. Numeral 1108 is a variable length decoding (VLD) unit for converting the coded data into the quantization frequency array. Numeral 1107 is a dequantization unit for dequantizing the quantization frequency array into the frequency using the quantization table. Numeral 1106 is an inverse DCT unit for converting the frequency to the two frame's image data, and subsequently computing the total and balance of the image data per 8.times.8 pixel array block with an inverse DCT. Numerals 1105, 1104 are frame memories for respectively storing the total and balance of the image data entering from the inverse DCT unit 1106. Numeral 1103 is an adder for adding the total and balance of the image data per pixel in the frame memories 1105, 1104. Numeral 1102 is a subtracter for subtracting the total and balance of the image data per pixel in the frame memories 1105, 1104. Note that the output from the adder 1103 and subtracter 1102 are the image data of the frames #0, #1, respectively. Numeral 1101 is a selector and shifter for shifting between the adder 1103 and subtracter 1102 to select their outputs in turn.
The above-described decoding unit decodes the coded data back into the original image data by the following steps of (1) decoding the coded data into the quantization frequency array; (2) computing the total and balance of the two frames' image data with de-quantization and inverse DCT per 8.times.8 pixel array block; (3) storing the total and balance of the image data first, and then adding or subtracting the total and balance of the image data per pixel.
The conventional coding apparatus, however, is not efficient when a sequence of pictures contains zoomed frames. This is because compression efficiency is directly proportional to the coefficients between the two frames (inversely proportional to the image data balance), and the coefficients become smaller when one of the images is zoomed.
Also, the conventional coding unit has a problem in maintaining the image quality in a reproduced image. More precisely, the conventional coding unit is typically used for the digital VTRs or data transmission via a telephone line, where the coded data transmitted per time unit is limited. For example, assume that a VTR has a capacity of 50 Mbps and it records 30 frames of video per second, then the volume should be less than 1.67 Mbit/frame. Therefore, when the volume exceeds that limit, the quantization unit 1007 reduces the volume before it transmits the image data to the VLC unit 1008. Thus, the decoded data contains less image data and an image is reproduced on the less image data, resulting in a degraded image quality. In other words, under the present conditions, the image data are compressed at the expense of the image quality.